C++ 左值右值,用于移动(move)和转发(forward)

您所在的位置:网站首页 c++ 左值 右值 C++ 左值右值,用于移动(move)和转发(forward)

C++ 左值右值,用于移动(move)和转发(forward)

2024-07-17 08:40| 来源: 网络整理| 查看: 265

    新标准重新定义了lvalue和rvalue,并允许函数依照这两种不同的类型进行重载。通过对于右值(rvalue)的重新定义,语言实现了移动语义(move semantic)和完美转发(perfect forwarding),通过这种方法,C++实现了在保留原有的语法并不改动已存在的代码的基础上提升代码性能的目的。作为一个C++0x标准的初学者,理解这些概念其实还有有一定的困难的,加上网上能够找得到的中文资源有比较的少,少有的资源写的也都不是那么的通俗易懂,多少有点晦涩,这也为学习设置了一定的障碍。同样作为初学者,我就花了不少时间研究这些概念,终于算是有所体悟。这里就把我粗浅的理解记录于此,希望能够给后来接触这些内容的同侪们以帮助,也供我日后参考。谬误之处在所难免,还望不吝赐教。 移动语义解决了什么问题

我们先看一段代码:

class Test { int * arr{nullptr}; public: Test():arr(new int[5000]{1,2,3,4}) { cout


【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3